# 基础镜像，使用 OpenJDK 21
FROM openjdk:21

# 镜像的标签，方便识别镜像名称
LABEL name="chinese-medicine-backend"

# 设置时区为亚洲上海，避免时间显示问题
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo 'Asia/Shanghai' > /etc/timezone

# 设置工作目录，后续操作都基于此目录
WORKDIR /home/java

# 创建日志目录，确保日志能正常写入
RUN mkdir -p logs

# 将打包好的 Spring Boot JAR 文件复制到工作目录
COPY target/chinese-medicine-manage-1.0.1.jar /home/java/chinese-manage-backend.jar

# 暴露 Spring Boot 应用监听的端口
EXPOSE 8080

# 定义容器启动时执行的命令，运行 Spring Boot 应用
ENTRYPOINT ["java", "-jar", "-Xmx512m", \
            "-XX:-OmitStackTraceInFastThrow", \
            "chinese-manage-backend.jar", "--logging.file.path=/home/java/logs"]
